
.page-home {

  .primary-row {
    text-align: center;

    h1,
    h2 {
      border: none;
      font-weight: normal;
    }

    h1 {
      margin: 10px 0 0 0;
      color: #ebf3ff;
      font-size: 49px;
    }

    h2 {
      margin: 5px 0 0 0;
      color: #A8C7FF;
      font-size: 16px;
      line-height: 28px;
      font-weight: 600;
      cursor: default;
      // -webkit-font-smoothing: antialiased;
      text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    }

    .desktop-btn {
      display: none;
    }
  }

  .btn-row {
    padding: 0;
  }

  .version-text {
    color: rgba(255, 255, 255, .4);
    font-weight: 500;
    font-size: 11px;
  }

  .feature-img {
    height: 175px;

    @media (max-width: $screen-xs-max) {
      display: none;
    }

    .demo-link {
      visibility: visible;
    }

    .app-icon {
      visibility: visible;
    }

    .device {
      &.iphone {
        width: 517px;
        position: relative;
        left: 46px;
        top: 36px;
      }

      &.pixel {
        width: 406px;
        position: absolute;
        top: 64px;
        right: 110px;

        @media (max-width: $screen-sm-max) {
          right: 0;
        }
      }
    }

    .one,
    .two {
      opacity: 0;
      animation: fadeInDown .7s;
      animation-fill-mode: forwards;
    }

    .one  {
      animation-delay: .5s;
    }

    .two  {
      animation-delay: .7s;
    }

    .three  {
      opacity: 0;
      animation: fadeIn .7s;
      animation-fill-mode: forwards;
      animation-delay: 1s;
    }

    .app-icon {
      background-image: url('/img/homepage/ionicview-icon_2x.png');
      background-size: 84px 84px;
      background-repeat: no-repeat;
      display: none;
      height: 84px;
      width: 84px;
      position: absolute;
      right: 0;
      bottom: 0;

      @media (max-width: $screen-sm-max) {
        bottom: -60px;
      }
    }

    a {
      opacity: 1;

      img {
        opacity:.9;
        transition: opacity 0.1s linear;
        animation-delay: .5s;
      }

      span {
        opacity: .7;
        transition:opacity .1s linear;
        animation-delay: .5s;
      }

      &:hover img,
      &:hover span{
        opacity: 1;
      }
    }

    .demo-link {
      position: absolute;
      right: 6px;
      bottom: -20px;
      display: none;
      color: white;
      text-decoration: underline;
      font-weight: 500;
      font-size: 10px;
      text-decoration: none;
      text-shadow: 0px 1px 6px rgba(0,0,0,0.2);

      @media (max-width: $screen-sm-max) {
        bottom: -75px;
      }
    }


  }

  @media (min-width: 768px) {
    /* TABLET/Phone */
    .primary-row {
      text-align: left;

      h1 {
        font-size: 34px;
      }

      h2 {
        font-size: 20px;
      }

      .desktop-btn {
        display: inline-block;
      }

      .mobile-btn {
        display: none;
      }

      .demo-link {
        display: block;
      }

      .app-icon {
        display: block;
      }
    }

    .feature-img {
      background-size: 420px 393px;
      min-height: 405px;
    }
  }



  .utility-bar {
    margin-top: -160px;
    position: relative;
    padding: 20px 0 22px;
    width: 100%;
    background: rgba(0, 0, 0, .15);

    @media (max-width: $screen-sm-max) {
      margin-top: -216px;
    }

    @media (max-width: $screen-xs-max) {
      margin-top: -528px;
    }

    .container {
      overflow: hidden;
      color: #DAE7FD;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    form {
      max-width: 458px;
      float: right;

      @media (max-width: $screen-sm-max) {
        max-width: calc(100% - 340px);
      }

      @media (max-width: $screen-xs-max) {
        float: none;
        max-width: 100%;
        margin-top: 15px;
      }
    }

    input {
      border: 1px solid rgba(255, 255, 255, 0);
      background: rgba(255, 255, 255, .2);
      font-size: 13px;
      color: white;
      box-shadow: none;
      font-weight: normal;
      height: 40px;
      padding: 1px 16px 0px;
      transition: .2s background;

      &:focus {
        box-shadow: none;
        border: 1px solid rgba(255, 255, 255, .1);
        background: rgba(255, 255, 255, .1);
      }

      &::-webkit-input-placeholder {
        padding-left: 0;
        color: #bbceef;
      }
      &::-moz-placeholder {
        color: #bbceef;
      }
    }

    button {
      box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.3);
      font-weight: 500;
      font-size: 14px;
      padding: 11px 13px 10px;

      &:hover {
        box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.3);
      }

      &:active {
        box-shadow: inset 0px 1px 3px rgba(0, 0, 0, 0.3);
        background: white;
      }
    }
  }

  .built-with {
    background: #f6f7fa;
    padding-bottom: 100px;

    @media (max-width: $screen-sm-max) {
      padding-bottom: 40px;
    }

    hgroup {
      position: relative;
      padding-top: 103px;

      @media (max-width: $screen-sm-max) {
        padding-top: 280px
      }

      @media (max-width: $screen-xs-max) {
        padding-top: 153px;
      }

      h2,
      h4 {
        width: 48%;

        @media (max-width: $screen-sm-max) {
          width: 100%;
          text-align: center;
        }
      }

      h2 {
        font-size: 28px;
        font-weight: 500;
        letter-spacing: -.02em;
      }

      h4 {
        font-size: 20px;
        font-weight: 400;
        color: #4a566b;
        line-height: 1.8em;
        margin-top: 16px;
        letter-spacing: -.02em;
      }
    }

    .techs {
      list-style: none;
      position: absolute;
      right: 0;
      top: 123px;
      width: 48%;

      @media (max-width: $screen-sm-max) {
        top: 50px;
        left: 0;
        margin: 0 auto;
        width: 600px;
      }

      @media (max-width: $screen-xs-max) {
        transform: scale(.5, .5);
        top: 50px;
        width: 600px;
      }

      @media (max-width: 600px) {
        margin-left: calc(50% - 300px);
      }

      li {
        background: url('/img/home/web-icons.png') no-repeat 0 0;
        background-size: 200px;
        height: 200px;
        width: 200px;
        position: absolute;
        opacity: 0;
        animation: fadeIn 1s;
        animation-fill-mode: forwards;

        &.angular {
          right: 64.5%;
          animation-delay: 1.4s;
        }

        &.js {
          right: 43%;
          background-position: 0 -200px;
          animation-delay: 1.6s;
        }

        &.ts {
          right: 21.5%;
          background-position: 0 -400px;
          animation-delay: 1.8s;
        }

        &.html {
          right: 0%;
          background-position: 0 -600px;
          animation-delay: 2s;
        }
      }

    }

    .features {
      margin-top: 75px;

      @media (max-width: $screen-sm-max) {
        display: flex;
        flex-wrap: wrap;
        margin-top: 45px;
      }

      li {
        width: calc(25% + 2px);
        display: inline-block;
        padding-left: 37px;
        padding-right: 20px;
        vertical-align: top;
        background: url('/img/home/checkmark-icon.png') no-repeat 0 0;
        background-size: 24px;

        @media (max-width: $screen-sm-max) {
          width: auto;
          flex: 1 0 320px;
          margin-bottom: 15px;
        }

        h3 {
          font-size: 17px;
          font-weight: 500;
          margin-top: 4px;
          margin-bottom: 5px;
        }

        p {
          font-size: 16px;
          font-weight: 400;
          color: #5c6a81;
          line-height: 1.7em;
          letter-spacing: -.02em;
        }

        &:last-child {
          padding-right: 0;
          width: calc(25% - 19px);
        }
      }
    }
  }

  .about-code {
    position: relative;

    .code-box {
      width: 545px;
      box-shadow: 0 8px 16px rgba(0, 0, 0, .08),
                  0 2px 6px rgba(0, 0, 0, .04);
      border-radius: 4px;
      position: absolute;
      top: -20px;
      background: white;

      @media (max-width: 626px) {
        display: none;
      }

      header {
        padding: 24px 38px 28px;
        position: relative;
        z-index: 5;

        &::after {
          position: absolute;
          bottom: -5px;
          background: linear-gradient(to bottom, rgba(200, 200, 200, .3) 0%,
                        rgba(200, 200, 200, 0) 100%);
          left: 0;
          right: 0;
          height: 5px;
          content: '';
          display: block;
        }

        h3 {
          font-weight: 700;
          font-size: 11px;
          letter-spacing: .2em;
          text-transform: uppercase;
          display: inline-block;
        }

        .platforms {
          list-style: none;
          position: absolute;
          right: 26px;
          top: 37px;

          li {
            background: url('/img/home/icons-sm.png') no-repeat 0 0;
            background-size: 24px;
            height: 24px;
            width: 24px;
            display: inline-block;
            margin-right: 9px;

            &.android {
              background-position: 0 -24px;
            }
            &.windows {
              background-position: 0 -48px;
            }
            &.chrome {
              background-position: 0 -72px;
            }
            &.electron {
              background-position: 0 -96px;
            }
          }
        }
      }
    }

    hgroup {
      min-height: 469px;
      margin-left: 625px;

      @media (max-width: $screen-sm-max) {
        margin-left: 0;
        margin-top: 400px;
        text-align: center;
        min-height: 0;
        margin-bottom: 40px;
      }

      @media (max-width: 626px) {
        margin-top: 0;
      }

      h2 {
        padding-top: 72px;
        font-size: 28px;
        line-height: 1.6em;
        font-weight: 500;
        letter-spacing: -.02em;
      }

      h4 {
        font-size: 20px;
        font-weight: 400;
        color: #4a566b;
        line-height: 1.8em;
        margin-top: 16px;
        letter-spacing: -0.02em;

        strong {
          color: black;
          font-weight: 400;
        }
      }
    }

    .features {
      list-style: none;
      padding: 0 0 109px;

      @media (max-width: $screen-sm-max) {
        padding-bottom: 50px;
      }

      li {
        display: inline-block;
        padding-top: 93px;
        position: relative;
        width: 29.7%;
        vertical-align: top;
        padding-right: 5%;
        box-sizing: content-box;

        @media (max-width: $screen-sm-max) {
          width: 100%;
          text-align: center;
          margin-bottom: 40px;
          padding-right: 0;
        }

        &::before {
          background: url('/img/home/icons-lg.png') no-repeat 0 0;
          background-size: 93px;
          height: 93px;
          width: 93px;
          content: '';
          top: 0;
          left: -7px;
          position: absolute;

          @media (max-width: $screen-sm-max) {
            left: calc(50% - 47px);
          }
        }

        &.beautiful::before {
          background-position: 0 -93px;
        }

        &.optimized::before {
          background-position: 0 -186px;
        }

        &:last-child {
          padding-right: 0;
        }

        h3 {
          font-size: 22px;
          font-weight: 500;
          margin-bottom: 16px;
          letter-spacing: -0.02em;
        }

        p,
        a {
          font-size: 16px;
          color: #5c6a81;
          line-height: 2em;
          letter-spacing: -0.02em;
        }

        a {
          color: #4a8bfc;
          font-weight: 500;

          span {
            position: relative;
            right: -2px;
            top: 2px;
          }

          &:hover {
            color: darken($blue, 5);
            text-decoration: none;
          }
        }
      }
    }
  }

  .about-toolkit {
    background: #09224d;
    background: linear-gradient(to right, #051d46 0%, #1d3f6f 100%);
    padding-top: 109px;
    padding-bottom: 36px;
    color: #9fb0cb;

    hgroup {
      text-align: center;
      margin-bottom: 96px;

      h2 {
        color: white;
        font-size: 27px;
        font-weight: 500;
        margin-bottom: 27px;
        letter-spacing: -.01em;
      }

      h4 {
        font-weight: 500;
        font-size: 20px;
        letter-spacing: -.02em;
      }
    }

    .features {
      list-style: none;
      padding: 0;

      @media (max-width: $screen-md-max) {
        display: flex;
        flex-wrap: wrap;
      }

      li {
        width: calc(33% + 22px);
        display: inline-block;
        padding-left: 83px;
        margin-bottom: 54px;
        font-weight: 400;
        font-size: 16px;
        padding-right: 55px;
        line-height: 1.8em;
        vertical-align: top;
        position: relative;
        letter-spacing: -0.02em;

        &:nth-child(3),
        &:last-child {
          width: calc(33% - 40px);
          padding-right:0;
        }

        @media (max-width: $screen-md-max) {
          width: auto;
          flex: 1 0 350px;

          &:nth-child(3),
          &:last-child {
            width: auto;
          }
        }

        &::before {
          background: url('/img/home/icons-md.png') no-repeat 0 0;
          background-size: 80px;
          height: 80px;
          width: 80px;
          content: '';
          position: absolute;
          left: 0;
          top: 0;
        }

        &.cli::before {
          background-position: 0 -320px;
        }

        &.native::before {
          background-position: 0 -400px;
        }

        &.reload::before {
          background-position: 0 -480px;
        }

        &.zionicons::before {
          background-position: 0 -560px;
        }

        &.deeplinking::before {
          background-position: 0 -640px;
        }

        &.aot::before {
          background-position: 0 -720px;
        }

        a {
          color: white;
        }
      }
    }
  }

  .about-community {
    background: #09172e;
    background: url('/img/home/map.png') no-repeat center center,
                linear-gradient(to right, #050f23 0%, #13233f 100%);

    background-size: cover, 100%;
    color: #909ebb;
    padding-bottom: 44px;

    .container {
      position: relative;
    }

    .stats {
      background: white;
      border-radius: 4px;
      color: $light-blue;
      width: 412px;
      text-transform: uppercase;
      position: absolute;
      right: 15px;
      top: -19px;
      padding: 55px 85px 52px;
      text-align: center;
      box-shadow: 0 8px 16px rgba(0, 0, 0, .2);

      @media (max-width: $screen-xs-max) {
        position: relative;
        right: 0;
        width: 100%;
      }

      @media (max-width: 420px) {
        padding-right: 15px;
        padding-left: 15px;
      }

      h5 {
        background: #fff;
        color: #b8c1cf;
        font-size: 11px;
        position: relative;
        padding: 0 10px;
        font-weight: 700;
        letter-spacing: .2em;

        &::before,
        &::after {
          content: '';
          left: 0;
          right: 73%;
          border-bottom: 1px solid #d0d6e0;
          display: block;
          top: 4px;
          position: absolute;
        }

        &::after {
          left: 73%;
          right: 0;
        }
      }

      h1 {
        font-weight: 600;
        font-size: 78px;
        letter-spacing: -3px;
        margin-bottom: 0;
        margin-top: 36px;
      }

      h4 {
        margin-top: -3px;
        font-size: 13px;
        color: #272a2f;
        font-weight: 700;
        letter-spacing: 5px;
      }

      ul {
        list-style: none;
        padding: 33px 0 0;

        @media (max-width: $screen-xs-max) {
          max-width: 250px;
          margin: 0 auto;
        }
      }

      li {
        font-weight: 700;
        text-align: left;
        position: relative;
        letter-spacing: .15em;
        padding: 12px 0 16px 37px;
        font-size: 13px;

        &::before {
          background: url('/img/home/icons-sm.png') no-repeat 0 0;
          background-size: 24px;
          height: 24px;
          width: 24px;
          content: '';
          display: block;
          position: absolute;
          left: -4px;
          top: 10px;
        }

        &.devs::before {
          background-position: 0 -120px;
        }

        &.meetups::before {
          background-position: 0 -144px;
        }

        &.github::before {
          background-position: 0 -168px;
        }

        &.so::before {
          background-position: 0 -192px;
        }
      }
    }

    hgroup {
      padding-top: 108px;
      margin-right: 425px;
      padding-bottom: 76px;

      @media (max-width: $screen-sm-max) {
        padding-top: 20px;
        padding-bottom: 46px;
      }

      @media (max-width: $screen-xs-max) {
        margin-right: 0;
        text-align: center;
      }

      h2 {
        color: white;
        font-weight: 400;
        margin-bottom: 16px;
        font-size: 27px;
        margin-bottom: 28px;
      }

      h4 {
        font-weight: 500;
        font-size: 19px;
      }
    }

    .features {
      list-style: none;
      margin-right: 420px;
      padding: 0;

      @media (max-width: $screen-xs-max) {
        margin-right: 0;
      }

      li {
        padding: 0 64px 83px 78px;
        display: inline-block;
        position: relative;
        width: 49%;
        font-weight: 400;
        font-size: 16px;

        @media (max-width: $screen-sm-max) {
          width: 100%;
          padding-right: 5px;
          padding-bottom: 50px;
        }

        &::before {
          background: url('/img/home/icons-md.png') no-repeat 0 0;
          background-size: 80px;
          height: 80px;
          width: 80px;
          content: '';
          display: block;
          position: absolute;
          left: -11px;
          top: -11px;
        }

        &.so::before {
          background-position: 0 -80px;
        }

        &.slack::before {
          background-position: 0 -160px;
        }

        &.forum::before {
          background-position: 0 -240px;
        }
      }
    }

    a {
      color: white;
    }
  }

  .loved-by {
    text-align: center;
    position: relative;

    h2 {
      margin-top: 125px;
      padding-top: 58px;
      margin-bottom: 67px;
      font-size: 22px;
      font-weight: 400;
      color: #4a566b;
      position: relative;
      letter-spacing: -.03em;

      &::before {
        background: url('/img/home/heart-icon.png') no-repeat center top;
        background-size: 48px;
        height: 43px;
        width: 48px;
        content: '';
        display: block;
        position: absolute;
        top: 0;
        left: calc(50% - 24px);
        animation: pulse 3.5s infinite;
      }

      strong {
        font-weight: 500;
        color: #272a2f;
      }
    }

    h3 {
      font-family: 'Georgia', sans-serif;
      font-size: 22px;
      margin: 0 auto;
      display: inline-block;
      max-width: 900px;
      color: #727a87;
      line-height: 2.2em;
      position: relative;
      font-weight: 300;
      position: absolute;
      left: 0;
      right: 0;
      opacity: 0;

      &.active {
        position: relative;
        opacity: 1;

        &::before {
          background: url('/img/quote.png') no-repeat;
          background-size: 50px 50px;
          height: 50px;
          width: 50px;
          content: '';
          position: absolute;
          left: -50px;
          top: -5px;
          opacity: .7;
        }
      }


    }

    .quotees {
      list-style: none;
      padding: 36px 0 44px;

      @media (max-width: $screen-sm-max) {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-around;
      }

      li {
        list-style: none;
        text-align: left;
        display: inline-block;
        position: relative;
        padding-left: 90px;
        padding-right: 10px;
        vertical-align: top;
        min-width: 23%;
        padding-right: 4.5%;
        min-height: 80px;
        margin-bottom: 20px;
        opacity: .3;
        transition: .3s opacity;
        cursor: pointer;

        @media (max-width: $screen-sm-max) {
          flex: 0 0 240px;
          padding-right: 20px;
        }

        &.active {
          opacity: 1;
        }

        img {
          position: absolute;
          left: 0;
          width: 88px;
          height: 80px;
        }

        strong {
          display: block;
          font-weight: 500;
          font-size: 16px;
          margin-top: 27px;
        }

        span {
          color: #727a87;
          font-size: 14px;

          a {
            color: $blue;

            &:hover {
              color: darken($blue, 5);
              text-decoration: none;
            }
          }
        }
      }
    }

    .companies {
      width: 100%;
      max-width: 960px;
      margin: 10px auto 123px;
    }
  }
}

.fadeInDown {
  animation-name: fadeInDown;
}

#slider {
  margin: 0 auto;
  padding: 0;
  position: relative;
  top: -78px;
  width: 100%;
  overflow-x: hidden;

  .slick-prev,
  .slick-next {
    left: 10px;
    top: 40%;

    &:before {
      content: ' ';
      display: block;
      position: relative;
      background: no-repeat url('/img/slider-arrow-left.png');
      background-size: 19px;
      width: 19px;
      height: 42px;
      z-index: 1000;
      opacity: .4;
      transition: .3s opacity;
    }

    &:hover:before {
      opacity: 1;
    }
  }

  .slick-next {
    left:auto;
    right:10px;

    &:before {
      background: no-repeat url('/img/slider-arrow-right.png');
      background-size: 19px;
    }
  }

  .slick-fade-out {
    opacity: 1 !important;
  }

  .slide {
    padding:100px 0 100px;
    width:100%;
    outline: none;
  }

  .feature-img {
    min-height: 502px;
  }

  .slick-dots {
    bottom: 97px;

    li button:before {
      color:white;
      font-size:22px;
      transition: transform .2s, opacity .2s;
    }

    li.slick-active button:before {
      transform: scale(1.3);
    }
  }

  .col-sm-6:first-child {
    padding-left: 0;
    min-height: 604px;

    @media (max-width: $screen-xs-max) {
      min-height: 304px;
    }
  }

  h1 {
    margin: 50px 0 0 0;
    font-size: 48px;
    font-weight: 400;
    color: white;
    letter-spacing: -0.05em;
    // -webkit-font-smoothing: antialiased;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.07);
    cursor: default;
    line-height: 64px;

    strong {
      font-weight: 600;
    }
  }

  h2 {
    font-size: 32px;
    color: white;
  }

  h3 {
    color: #d8e8ff;
    font-size: 18px;
    font-weight: 500;
    cursor: default;
    margin: 20px 0px 32px;
    line-height: 1.6;
    letter-spacing: -0.02em;
    max-width: 500px;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.07);
  }

  .btn-row {
    margin-top: 66px;
  }

  .ion-chevron-right {
    font-size: 16px;
    margin-left: 4px;
  }
}

// IE fixes
$ieEightAndNine: '\0/';
.home .navbar {
  background: none;
  background: unquote(#4E8EF7 + $ieEightAndNine);
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .home .navbar{
    background:#4E8EF7;
  }
}

@media (max-width: $screen-sm-max) {

  #slider {
    top: -134px;

    .slide {
      padding: 125px 0 50px;
    }

    .slick-dots {
      bottom: 172px;
    }

    .feature-img {
      min-height: 455px;
    }

    h1 {
      font-size: 32px;
      line-height: 48px;
      margin-top: 84px;
    }

    h3 {
      font-size:18px;
    }
  }
}

@media (max-width: $screen-xs-max) {
  #slider {
    top: -392px;

    .slide {
      padding: 472px 0 188px;
    }

    .slick-dots {
      bottom: 229px;
    }

    .feature-img {
      min-height: 305px;
    }

    .logo,
    .slide-creator .logo {
      margin: -15px auto 15px;
      text-align: center;
    }

    h1 {
      font-size: 30px;
      margin: 0 auto;
      text-align: center;
    }

    h3 {
      font-size: 14px;
      margin: 0 auto;
      text-align: center;
    }

    .logo {
      margin: 0 auto 15px;
    }
  }

  .home .utility-bar {
    margin-top: -628px;
  }
}

.slide-home {
  background: #298fff;
  background: linear-gradient(to right, #347eff 0%, #1ea3ff 100%);
}

.social-row {
  margin: 12px 0 0 0;
  font-weight: 500;
  padding-left: 0;

  li {
    display: inline-block;
    height: 27px;
    margin-right: 22px;
    font-size: 14px;

    i {
      padding-right: 2px;
      display: inline;
    }

    @media (max-width: $screen-sm-max) {
      font-size: 14px;
      margin-right: 15px;

      i {
        padding-right: 4px;
      }
    }

    @media (max-width: 360px) {
      &:nth-child(2) {
        display: none
      }
    }
  }

  a {
    text-decoration: none;
    opacity: .6;
    color: white;
    letter-spacing: -.02em;

    &:hover {
      opacity: 1;
    }
  }
}
